/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package Controllayer;
import Modellayer.*;
import Dblayer.*;
import java.util.ArrayList;

/**
 *
 * @author Engel
 */
public class LoenCtr
{
//denne variable er lavet for at holde på den bruger man arbejder med lige pt.
private Loen tempLoen;

	public LoenCtr()
	{}

	public ArrayList<Loen> findLoenMedMedNr(int medNr, boolean associations)
	{
	ArrayList<Loen> tempList = new ArrayList();
	IFDBLoen dbLoen = new DBLoen();
	tempList = dbLoen.findLoenMedMedNr(medNr, associations);

	return tempList;
	}

        public void opretLoen(Loen loenObj)
        {
            IFDBLoen dbLoen = new DBLoen();
            dbLoen.opretLoen(loenObj);
        }

	public void opretLoen(String fraDato, String tilDato, int timer, int medNr)
	{
		Medarbejder tempMedarbejder = new Medarbejder();
		tempMedarbejder.setMedNr(medNr);

		tempLoen = new Loen(fraDato, tilDato, timer, medNr);

		IFDBLoen dbLoen = new DBLoen();
		dbLoen.opretLoen(tempLoen);
	}

	public void sletLoen(int loenID)
	{
		IFDBLoen dbLoen = new DBLoen();
		dbLoen.sletLoen(loenID);
	}

	public void redigerLoen(String fraDato, String tilDato, int timer, int medNr)
	{
		Medarbejder tempMedarbejder = new Medarbejder();
		tempMedarbejder.setMedNr(medNr);

		tempLoen = new Loen(fraDato, tilDato, timer, medNr);
		
		IFDBLoen dbLoen = new DBLoen();
		dbLoen.redigerLoen(tempLoen);
	}

	public Loen udregnLoen(Medarbejder medNr, String startDato, String slutDato)
	{
		//for at få den ArrayList med arbejdsDage som skal bruges, skal metoden
		//******* fra ArbejdsdageCtr
	Loen udregnetLoen = new Loen();

	udregnetLoen.setMedNr(medNr);

	udregnetLoen.setFraDato(slutDato);
	udregnetLoen.setTilDato(startDato);

	ArbejdsdageCtr arbCtr = new ArbejdsdageCtr();
	ArrayList<ArbejdsDage> arbejdsdageList = new ArrayList();
	arbejdsdageList = arbCtr.ArbejdsdageSortering(startDato, slutDato, medNr.getMedNr());

	udregnetLoen.setArbID(arbejdsdageList);

	int i = 0;

	while(i < arbejdsdageList.size())
	{
	udregnetLoen.setSamletLoen(udregnetLoen.getSamletLoen() + arbejdsdageList.get(i).getLoen());
	udregnetLoen.setSamletTimer(udregnetLoen.getSamletTimer() + arbejdsdageList.get(i).getTimer());
	i++;
	}

	//denne metode mangler stadig fra-til dato, arbejdsdage, og en ID for at være færdig
	return udregnetLoen;
	}
}
